package com.coolled.ei.utils;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;

import java.lang.reflect.Field;

public class LikeQueryWrapper<T> extends QueryWrapper<T> {
    public LikeQueryWrapper(T entity)  {
        try {
            if (entity != null) {
                Field[] fields = entity.getClass().getDeclaredFields();
                for (Field field : fields) {
                    field.setAccessible(true); // 允许访问私有字段
                    Object value = field.get(entity);
                    if (value != null && StringUtils.isNotBlank(value.toString())) {
                        // 假设字段名直接对应数据库列名，或者你可以根据需要添加转换逻辑
                        String columnName = field.getName(); // 或者使用其他逻辑转换为列名
                        like(columnName, "%" + value.toString() + "%"); // 添加LIKE条件
                    }
                }
            }
        }catch (Exception e){
            throw new MybatisPlusException(e.getMessage());
        }

    }

}